import plugin from '../../lib/plugins/plugin.js'
import fetch from 'node-fetch'
import fs from "fs"
/*
功能:删除QQ号绑定的原神uid及其更新的面板缓存,虽然我也不知道为啥要删除

使用方法：  用户：  #删uid   (删除自己绑定的uid和面板缓存数据)
            主人： #删uid<qq号>  例如：#删uid12345678  （删除QQ号12345678绑定的uid）

！！！注意命令后面跟的是qq号不是uid！！！

绑定了的ck的删了没用，需要用户自己发  #删除ck  或者你去找到他绑定的ck然后删了

*/
export class example extends plugin {
  constructor() {
    super({
      /** 功能名称 */
      name: 'sy:删除uid',
      /** 功能描述 */
      dsc: '删除uid和qq号绑定关系',
      /** https://oicqjs.github.io/oicq/#events */
      event: 'message',
      /** 优先级，数字越小等级越高 */
      priority: 5000,
      rule: [
        {
          reg: '^#删uid', //
          fnc: 'deluid',
        }
      ]
    })
  }

  /**
   * #一言
   * @param e oicq传递的事件参数e
   */
  async deluid(e) {
    let uid_sta, qq, uid, file_sta
    qq = e.msg.replace('#删uid', '')
    qq = qq.replace(' ', '')
    if (qq == '') {
      qq = String(e.user_id)
    } else {
      if (!e.isMaster && qq != String(e.user_id)) {
        e.reply('只能删除自己绑定的uid')
        return true
      }
    }
    uid_sta = await redis.exists(`Yz:genshin:mys:qq-uid:${qq}`)
    if (uid_sta == 1) {
      uid = await redis.get(`Yz:genshin:mys:qq-uid:${qq}`)

      file_sta = fs.existsSync(`./data/UserData/${String(uid)}.json`)

      if (file_sta == true) {
        fs.unlink(`./data/UserData/${String(uid)}.json`, function (err) {
          if (err) {
            logger.info(err)
          }
        })
      }
      await redis.del(`Yz:genshin:mys:qq-uid:${qq}`)
      e.reply(`已经删除${qq}绑定的uid及用户数据`)
    } else {
      e.reply('输入有误或者该q未绑定uid')
    }
  }
}
